WHERE mydate BETWEEN 

select DATEADD(DD,-DATEPART(DW,GETDATE())-6,GETDATE())
                  , DATEADD(DD,-DATEPART(DW,GETDATE()),GETDATE())

select Datepart(dd,GetDate())

select DATEPART(DW,GETDATE())

select DatePart(mm,getDate()), DatePart(yy,getDate())

select day(getdate()), month(getdate()), year(getdate())

select datepart(dw,getDate())

-- 1 - Sunday
-- 2 - Monday
-- 3 - Tuesday
-- 4 - Wednesday
-- 5 - Thursday
-- 6 - Friday
-- 7 - Sat

set dateformat dmy
--select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))

declare @firstdate datetime
Set @firstdate = '02/01/2009'
select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(@firstdate) as varchar)+'-'+cast(month(@firstdate) as varchar)+'-01' as datetime))))

select month('01/02/2009')
select year('01/02/2009')
select cast(year(getdate()) as varchar)


